#ifndef FILEREPOSITORY_TEST_H_	
#define FILEREPOSITORY_TEST_H_
/*********************************************************/
#include "UnitTest.h"
/*********************************************************/
class FileRepoTest : public UnitTest
{
private:
	bool repoCreationTest();		// Basic test to verify creation of a repository
	bool dataRetrievalTest();		// Is the data that was written identical to the data retrieved?
	bool reloadRepoTest();			// Does reloading a repository yield the same data?
	bool multipleChunkAddTest();		// Add multiple chunks to an archive
	bool archiveSizeTest();			// When specifying an maxarchiveSize smaller then chunk size do we get an exception?
	bool multipleArchiveTest();		// Test ability to use multiple archives to store chunks
	bool invalidChunkSizeTest();		// If we pass data of a different length then the chunk size ?
	bool removeChunkTest();			// Remove a chunk test
	bool emptySlotTest();			// Does the class correctly fill empty chunk spots?
	bool fileSizeUpdateTest();		// Does the class correctly update file size upon 2 addChunks?

protected:
public:
	virtual std::string name();		// Returns the name for this unit
	virtual bool runUnitTests();		// Run all tests from this unit
};
/*********************************************************/
#endif //FILEREPOSITORY_TEST_H_